#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>
#include<sys/types.h>
#include<sys/wait.h>

int main()
{
  pid_t id = fork();

  if(id == 0)
  {
    //child
    int cnt=5;
    while(cnt){
      printf("child[%d] is running,cnt is %d \n",getpid(),cnt);
      sleep(1);
      cnt--;
    }
  }

  else{
    //parent
    sleep(10);
    //父进程开始进行等待
   // int ret=wait(NULL);
   
    int status = 0;
    int ret=waitpid(-1,&status,0);
    if(ret== 0)
    {
      //等待成功，但是没有子进程退出
      printf("父进程等待成功，没有子进程退出！\n");
    }
    else if(ret > 0){
      //等待成功，有子进程退出
      printf("等待成功，子进程pid为：%d\n",ret);
    }
    else
    {
      //等待失败
      printf("父进程等待失败！\n");
    }
    sleep(10);
    
  }
  




  
 
}
